import csv
import pandas as pd

def update_csv(movie_id, movie_rate, csv_file_path):
    user = '0'
    found = False
    data0 = []
    # with open(csv_file_path, 'r', encoding='utf-8') as f_in:
    #     reader = csv.reader(f_in)
    #     next(reader, None)  # 这会读取第一行（标题行），如果它存在的话；如果没有，则不执行任何操作
    #     # 遍历每一行
    #     for row in reader:
    #         # 检查第0列（索引为0）的值是否等于0（这里假设是字符串'0'，如果是整数则直接比较）
    #         if row[0] == '0':  # 注意：这里假设值是以字符串形式存储的，如果是整数则需要去掉引号
    #             data0.append(row)
    df = pd.read_csv(csv_file_path)
    print(df)
    # 查找用户为0且电影ID匹配的行
    mask = (df['user'] == 0) & (df['movie_id'] == str(movie_id))
    print(mask)
    matched_rows = df.loc[mask]
    # 如果有匹配的行，则更新rate
    if not matched_rows.empty:
        df.loc[mask, 'rate'] = movie_rate
        print(f"Updated rate for movie_id {movie_id} to {movie_rate}")
    else:
        # 如果没有匹配的行，则添加新行
        new_row = {'user': 0, 'movie_id': str(movie_id), 'rate': movie_rate}
        df = df.append(new_row, ignore_index=True)
        print(f"Added new row for movie_id {movie_id} with rate {movie_rate}")
        # 可选：将更新后的DataFrame写回CSV文件
    df.to_csv(csv_file_path, index=False)



update_csv(99, 3, 'ratings_sorted.csv')